草庐IT

c++ - Qt::WA_DeleteOnClose

全部标签

不能用宏包装 cgo 标志

我编写了一个Go程序来模拟按键操作。为此,我必须使用cgo和不同的C代码片段,具体取决于正在编译Go代码的操作系统。我编写的代码如下所示:packagekeyboard/*#include#ifdef__WIN32#cgoCFLAGS:-nostdlib#includevoidSetKey(uint16_tkey,uint8_tvalue){INPUTip;ip.type=INPUT_KEYBOARD;ip.ki.wScan=0;ip.ki.time=0;ip.ki.dwExtraInfo=0;ip.ki.wVk=key;if(value){ip.ki.dwFlags=0;}else{

c - 如何在没有定义 main() 的情况下让 cgo 构建目标文件?

我有一个完全用C编写的项目。我只需要调用一个必须用GO编写的函数。因此,我使用cgo构建C文件,然后我想使用生成的目标文件与我的主C项目链接。假设我有一个文件foo.go和一个函数funcHelloWorld()。我希望从我的C代码中执行此函数。所以我做了以下步骤#gotoolcgofoo.go#cd_obj&&gcc-c*.o现在我有两个文件:#_cgo_export.o_cgo_main.o但是,main()以某种方式在那里定义,我无法将这些目标文件与我的主项目(多个主项目)链接。我如何让cgo不放入虚拟main?还是我这样做完全错了?编辑我需要入口点在C中。其他人发布的建议要求入

objective-c - cgo godefs 和 Objective-C

我通过CGoLang的包在GoLang上编写了一个包含Objective-C代码(调用一些OSXAPI)的程序,我需要从Go传递类型为T的变量代码到Objective-C代码,反之亦然。T是结构(或其他类型)。所以我需要在GoLang中创建兼容的(在内存布局方面)类型/变量,并通过unsafe.Pointer转换将其传递给Objective-C。对于通用C代码,我在这种情况下使用godefs,但我无法将godefs用于Objective-C。如果我尝试gotoolcgo-godefscgodefs.go//Thisis"cgodefs.go"filepackagetmp/*#cgoCF

c - 将 cgo 与 typedef 变量一起使用

由于现有的库和速度,我正在创建一个项目,该项目使用我用C编写的密码学。尝试与Cgo交互时,我在使用C中创建的typedef时遇到了一些问题。下面是一个示例:typedefunsignedcharec_scalar[32];我能够成功创建ec_point变量,并使用接受ec_point*的函数。但是,每当我尝试使用通过普通ec_point传递的函数时,我都会收到错误消息:cannotusepk2(typeC.ec_scalar)astype*C.ucharinargumentto_Cfunc_secret_to_public我似乎找不到可以轻松转换它的方法。我也不想重构我的代码来接受ec

c - 将 C 翻译成 Golang。如何分配内存以匹配 C?

所以我正在翻译我在C中创建的程序。这个程序的目标是简单地从文件中读取矩阵,以稀疏行格式压缩矩阵,然后计算矩阵vector乘积。这是C语言的程序片段。//ReadtheMatrixMarketfileandinitializeaCSRformattedmatrix.csr_load_matrix(fileName,&compressedSparseMatrix);//Setthecorrectvaluestothestructandcreatethememoryallocation.double*x;double*y;x=malloc(compressedSparseMatrix.col

c - 在 libpango 中调用 pango_cairo_font_map_get_default() 时出现 "GLib-GObject-CRITICAL"的原因是什么?

这是一道关于gtk/glib/libpango/libcairo的概念题。让我们直奔问题。我正在用一位前同事用Go编写的旧C库进行包装,在C代码调用的某处pango_cairo_font_map_get_default()获取由libpango维护的默认font_map。包装基本上是从Go域进入C域(外部函数接口(interface))和C端使用pthread创建一个线程最终调用pango_cairo_font_map_get_default。最初,在纯C端一切正常。包装后,C代码卡在调用pango_cairo_font_map_get_default()printf("beforec

c - 通过Cgo访问aerospike C客户端报错

我正在尝试学习Cgo,所以我尝试从Cgo访问aerospike客户端packagemain//#cgoCFLAGS:-g-Wall//#include//#include//#include"aerospike-client-c/examples/put/example_utils.h"import"C"import("unsafe")funcmain(){retvals:=C.putitnew()_=retvals}但我遇到以下错误。(请注意,当我执行make和makerun时,C程序运行成功)。undefinedreferenceto`example_get_opts'./aero

qt - 是否可以在 Qt(Golang 绑定(bind))应用程序中使用 Sparkle?

我们构建一个Qt应用程序使用:https://github.com/therecipe/qt.现在我们需要一个自动更新程序并找到这个:https://sparkle-project.org看起来它正在被我机器上的多个应用程序使用:/Applications/VLC.app/Contents/Frameworks/Sparkle.framework/Applications/Adium.app/Contents/Frameworks/Sparkle.framework/Applications/TeamViewer.app/Contents/Frameworks/Sparkle.fram

image - qml qt grabToImage 获取图像字节

出于某种原因,直接从qml中保存png是行不通的。我在Golang应用程序之上有一个qmlUI。当我做的时候source.grabToImage(function(result){console.log("image:",result.url)if(!result.saveToFile(urlNoProtocol)){console.error('Unknownerrorsavingto',urlNoProtocol);}else{console.log("savedto"+urlNoProtocol)}保存时出错。保存文件的位置来自fileDialog,我对其进行预处理以删除file

qt - Qt无框透明窗口中的文字碎片

我正在尝试使用Qt及其go-bind(https://github.com/therecipe/qt)创建一个无框透明窗口。我遇到的问题是文字碎片残留在无框透明窗口中。请看Gif(https://i.imgur.com/47OC7ps.gif)。我确认的问题的特征如下。问题只出现在调整大小的窗口中。(但不是100%)最初只有文本显示在窗口中的将保留为碎片。这个问题可以通过在QMainWindow本身显式调用Hide()、Show()来避免,但是会出现性能问题。我预计会考虑调整应用程序的大小,因为问题仅发生在调整大小的窗口中。有什么想法吗?我的环境如下:Qt:5.12.0我的应用源代码: